import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while (scanner.hasNext()){
            String str1=scanner.nextLine();
            String str2=scanner.nextLine();
            boolean ret=dfs(str1,str2,0,0);
            System.out.println(ret);
        }
    }
    public static boolean dfs(String str1,String str2,int index1,int index2) {
        if (index1 == str1.length() && index2 == str2.length()) {
            return true;
        } else if (index1 == str1.length() || index2 == str2.length()) {
            return false;
        }
        if (str1.charAt(index1) == '*') {
            return dfs(str1, str2, index1 + 1, index2) || dfs(str1, str2, index1 + 1, index2 + 1) || dfs(str1, str2, index1, index2 + 1);
        } else if (str1.charAt(index1) == '?' ) {
            return dfs(str1, str2, index1 + 1, index2 + 1);
        }else if(str1.charAt(index1)==str2.charAt(index2)){
            return dfs(str1,str2,index1+1,index2+1);
        }else{
            return false;
        }
    }
}


















//public class Main {
//    public static void main(String[] args) {
//        Scanner scanner=new Scanner(System.in);
//        while (scanner.hasNext()){
//            int n=scanner.nextInt();
//            System.out.println(dfs(n));
//        }
//    }
//    public static int dfs(int n){
//        if(n==0){
//            return 0;
//        }else if(n==1||n==2){
//            return 1;
//        }
//        return dfs(n-1)+dfs(n-2);
//    }
//}
